package vistas;

import javax.jms.JMSException;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

import java.awt.Color;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JLabel;

import activeQM.productorQMColaServidor;
import contenedorSpring.Contenedor;
import core.coreEventoMouseCompartido;
import utilidades.ViewerData;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;

public class FormEscritorioCompartido extends JFrame {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1774603698584019202L;
	private JPanel contentPane;
	private JLabel lbEscritorio;
	private Boolean estadoVista = false;
	private String ipEscritorioCompartido;
	private ViewerData viewer;

	/**
	 * Create the frame.
	 */
	public FormEscritorioCompartido() {
		setUndecorated(true);
		setBackground(Color.WHITE);
		setTitle("lol");
		setExtendedState(JFrame.MAXIMIZED_BOTH);
		setBounds(100, 100, 450, 300);

		contentPane = new JPanel();
		contentPane.setBackground(Color.WHITE);
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);

		lbEscritorio = new JLabel("");
		lbEscritorio.setBackground(Color.WHITE);
		lbEscritorio.addMouseListener(new MouseAdapter() {
			public void mousePressed(MouseEvent e) {
				coreEventoMouseCompartido c = new coreEventoMouseCompartido();
				c.setEvento(e);
				c.setViewer(viewer);
				c.setIp(ipEscritorioCompartido);
				productorQMColaServidor qm = (productorQMColaServidor) Contenedor.getSingleton().getApplicationContext().getBean("producerEventoMouse");
				try {
					qm.sendMessages(c);
				} catch (JMSException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
			}
		});
		GroupLayout gl_contentPane = new GroupLayout(contentPane);
		gl_contentPane.setHorizontalGroup(
			gl_contentPane.createParallelGroup(Alignment.LEADING)
				.addGroup(gl_contentPane.createSequentialGroup()
					.addComponent(lbEscritorio, GroupLayout.PREFERRED_SIZE, 485, GroupLayout.PREFERRED_SIZE)
					.addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
		);
		gl_contentPane.setVerticalGroup(
			gl_contentPane.createParallelGroup(Alignment.LEADING)
				.addGroup(gl_contentPane.createSequentialGroup()
					.addComponent(lbEscritorio, GroupLayout.PREFERRED_SIZE, 378, GroupLayout.PREFERRED_SIZE)
					.addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
		);
		contentPane.setLayout(gl_contentPane);

	}
	/**
	 * @param viewer
	 *            the viewer to set
	 */
	public void setViewer(ViewerData viewer) {
		this.viewer = viewer;
	}


	/**
	 * @param estadoVista the estadoVista to set
	 */
	public void setEstadoVista(Boolean estadoVista) {
		this.estadoVista = estadoVista;
	}

	/**
	 * @return the ipEscritorioCompartido
	 */
	public String getIpEscritorioCompartido() {
		return ipEscritorioCompartido;
	}

	/**
	 * @param ipEscritorioCompartido the ipEscritorioCompartido to set
	 */
	public void setIpEscritorioCompartido(String ipEscritorioCompartido) {
		this.ipEscritorioCompartido = ipEscritorioCompartido;
		this.setTitle(ipEscritorioCompartido);
	}

	public void actualizarImagen(ImageIcon  tmp2 ){
		if(!estadoVista){
			estadoVista = true;
			this.setVisible(true);
		}
		lbEscritorio.setIcon(tmp2);
		lbEscritorio.updateUI();
	}
}
